<?php
// Author : evilair
// Time : 2017/08/07

// 测试 for循环的前加与后加
echo "i++\n";
for ($i=0;$i<5;$i++) {
  echo $i."\n";
}
echo "++i\n";
for ($i=0;$i<5;++$i) {
  echo $i."\n";
}
$j=7;
echo $j++;
$m=7;
echo ++$m;
echo "\n----------------------------\n";
/******************************************
* 
*
******************************************/

$arr = [-4, -4, -5, -3, -4, -2, -6, 0, 3, 4, 6];
// sort($arr);
// var_dump($arr);
// $res = [];
function threeSum($arr)
{
  $res = [];
  sort($arr);
  for ($i=0; $arr[$i]<0; $i++) {
    $l = $i + 1;
    $r = count($arr)-1;
    while($l<$r && $arr[$r]>0) {
      $target = $arr[$i] + $arr[$l] + $arr[$r];
      if ($target == 0) {
        $item = [];
        $item[0] = $arr[$i];
        $item[1] = $arr[$l];
        $item[2] = $arr[$r];
        $res[] = $item;
        break;
      } else {
        if ($target > 0) {
          $r--;
        } else {
          $l++;
        }
      }
    }
  }
  return $res;
}

$res = threeSum($arr);
var_dump($res);